package com.cms.jy.draft.entity;

import lombok.Data;

/**
 * 动画元数据类
 * 包含动画的基本信息
 */
@Data
public class AnimationMeta {
    /**
     * 动画标题
     */
    private String title;
    
    /**
     * 是否为VIP动画
     */
    private boolean isVip;
    
    /**
     * 动画时长（秒）
     */
    private double duration;
    
    /**
     * 资源ID
     */
    private String resourceId;
    
    /**
     * 效果ID
     */
    private String effectId;
    
    /**
     * MD5值
     */
    private String md5;
    
    /**
     * 构造函数
     * @param title 动画标题
     * @param isVip 是否为VIP动画
     * @param duration 动画时长（秒）
     * @param resourceId 资源ID
     * @param effectId 效果ID
     * @param md5 MD5值
     */
    public AnimationMeta(String title, boolean isVip, double duration, String resourceId, String effectId, String md5) {
        this.title = title;
        this.isVip = isVip;
        this.duration = duration;
        this.resourceId = resourceId;
        this.effectId = effectId;
        this.md5 = md5;
    }
    
    /**
     * 获取动画时长（微秒）
     * @return 动画时长（微秒）
     */
    public int getDurationInMicroseconds() {
        return (int) Math.round(duration * 1e6);
    }

    public AnimationMeta setDuration(double duration) {
        this.duration = duration;
        return this;
    }
}